{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Topo - Interpolate elevation along a profile\n", "O.KAUFMANN, 2017-2021." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from bootsoff.topo import cclength2xz\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Create a list of lists of points along the profile: [ [distance in the horizontal plane, elevation], ...] \n", "#### Warning horizontal distances should be unique (no vertical...)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "known_points=[[0,284],[58,280],[152,275],[217,270],[228,267],[305,265],[340,260], [374,255], [397,250], [417,245], [459, 240], [484, 245], [539, 250], [687, 245]]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Functions to compute y the length of a curve know on some points and approximated by a pchip interpolation" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "xz = cclength2xz(known_points, np.linspace(0,800,81))" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([[ 0. , 284. ],\n", " [ 9.97253064, 283.25931495],\n", " [ 19.94629336, 282.53541753],\n", " [ 29.92154257, 281.83231027],\n", " [ 39.89850799, 281.15400302],\n", " [ 49.87738991, 280.50451399],\n", " [ 59.85837142, 279.88815605],\n", " [ 69.84197817, 279.3159463 ],\n", " [ 79.82776754, 278.78310727],\n", " [ 89.81498055, 278.27759958],\n", " [ 99.80295624, 277.78736039],\n", " [109.79108847, 277.30031458],\n", " [119.77878263, 276.80438453],\n", " [129.76541214, 276.28749963],\n", " [139.75027518, 275.73760657],\n", " [149.73255179, 275.14268156],\n", " [159.71411277, 274.53600751],\n", " [169.69857889, 273.97887543],\n", " [179.68225742, 273.40794058],\n", " [189.66089765, 272.75554312],\n", " [199.6286241 , 271.95451449],\n", " [209.57664963, 270.93881775],\n", " [219.45165788, 269.43989926],\n", " [229.08100381, 266.93673223],\n", " [239.06986352, 266.46832175],\n", " [249.06532314, 266.16981957],\n", " [259.06358479, 265.98502175],\n", " [269.06276711, 265.85743378],\n", " [279.06195771, 265.73047277],\n", " [289.06025483, 265.54755504],\n", " [299.05580888, 265.25218258],\n", " [309.04069551, 264.72313319],\n", " [318.96262601, 263.4902004 ],\n", " [328.82488899, 261.83731827],\n", " [338.68876778, 260.19432586],\n", " [348.59052551, 258.79647648],\n", " [358.49649479, 257.42841794],\n", " [368.3859974 , 255.94691317],\n", " [378.23195823, 254.20188996],\n", " [388.00650659, 252.09207509],\n", " [397.74569449, 249.82318437],\n", " [407.40263175, 247.22823465],\n", " [417.14117934, 244.97622199],\n", " [427.00090457, 243.30717793],\n", " [436.88197136, 241.77117083],\n", " [446.81172038, 240.59615684],\n", " [456.79299956, 240.02146908],\n", " [466.72380629, 240.92060552],\n", " [476.40676846, 243.4136496 ],\n", " [486.21854151, 245.29170693],\n", " [496.13398569, 246.58934359],\n", " [506.05967858, 247.80555852],\n", " [516.0055409 , 248.84257403],\n", " [525.97632764, 249.60038083],\n", " [535.96845712, 249.97680935],\n", " [545.96833941, 249.99947812],\n", " [555.96833643, 249.99246466],\n", " [565.9683089 , 249.96974856],\n", " [575.96819162, 249.92207632],\n", " [585.96785011, 249.84019627],\n", " [595.96705499, 249.7148613 ],\n", " [605.96545647, 249.53683327],\n", " [615.96255896, 249.29688987],\n", " [625.95769609, 248.98583427],\n", " [635.95000628, 248.59450798],\n", " [645.93840908, 248.1138075 ],\n", " [655.92158267, 247.53470489],\n", " [665.89794299, 246.84827291],\n", " [675.8656249 , 246.04571459],\n", " [685.82246597, 245.11839764],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan],\n", " [ nan, nan]])" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xz" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "nbsphinx-thumbnail": { "tooltip": "This tooltip message was defined in cell metadata" }, "tags": [] }, "outputs": [ { "data": { "text/plain": [ "(-34.29112329846765, 720.1135892678208, 237.82254253877488, 286.1989265457726)" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(16,8))\n", "plt.plot(xz.T[0], xz.T[1], '.k')\n", "plt.axis('equal')" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.5" } }, "nbformat": 4, "nbformat_minor": 4 }